"""
在 Python 中，repr 是一个内置函数，用于获取对象的“官方”字符串表示形式。这个字符串表示形式通常用于调试和开发，
因为它旨在提供足够的信息来重新创建该对象（如果可能的话）。repr 函数返回的对象表示形式通常是合法的 Python 代码，可以用来重新构造该对象
"""

# 1. 基本数据类型
# 整数
print(repr(123))  # 输出: '123'

# 浮点数
print(repr(3.14))  # 输出: '3.14'

# 字符串
print(repr('hello'))  # 输出: "'hello'"

# 列表
print(repr([1, 2, 3]))  # 输出: '[1, 2, 3]'

# 字典
print(repr({'a': 1, 'b': 2}))  # 输出: "{'a': 1, 'b': 2}"


# 2. 自定义类
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person(name='{self.name}', age={self.age})"


# 创建一个 Person 对象
person = Person('Alice', 30)

# 使用 repr 函数获取对象的字符串表示形式
print(repr(person))  # 输出: "Person(name='Alice', age=30)"

# 3. 时间
import datetime

now = datetime.datetime.now()

# 使用 str
print(str(now))  # 输出: 2023-10-05 14:12:34.123456 （具体时间会有所不同）

# 使用 repr
print(repr(now))  # 输出: datetime.datetime(2024, 10, 22, 14, 12, 34, 123456) （具体时间会有所不同）
